The present invention relates generally to numerically controlled oscillator circuits and more specifically to low jitter numerically clock oscillators.
A numerically controlled oscillator (NCO) can generate a slower clock signal given a frequency control word (FCW) and a high speed clock (hsclk). The NCO can be time based or frequency based. The FCW of a time based NCO represents the time period of the output clock frequency to be generated. The larger the value of the FCW, the longer the period of the output clock signal and hence the lower its frequency. The FCW of a frequency based FCW represents the frequency of the output clock signal to be generated by the NCO. The larger the value of the FCW, the higher the frequency of the output clock signal and the shorter its period.
A time based NCO is typically implemented as a continuous down counter which counts down from the value of the FCW to 1 and then repeats. A typical time based NCO is illustrated in FIG. 1. As can be seen in FIG. 2, an output pulse is generated by the time based NCO every time the counter crosses the 1 value.
A frequency based NCO is typically implemented as an accumulator. A frequency based NCO is illustrated in FIG. 3. The accumulator accumulates the FCW every clock cycle and the output is the overflow status of the accumulator. As can be seen in FIG. 4, a pulse is generated every time the accumulator wraps around the maximum value. The larger the value of the FCW, the more frequently the accumulator wraps around and hence the higher the frequency of the output. The output pukes are non-uniformly distributed and are generated at an average frequency equal to (FCW*f_hsclk)/2N where N is the bit width of the accumulator and f_hsclk is the frequency of the high speed clock signal.
A benefit of utilizing a time based NCO is that the output samples are uniform. However, the output periods of a time based NCO are typically limited to integer multiples of the hsclk period. A frequency based NCO can on average generate periods that are not multiples of the high speed clock period. The frequency of the output of a frequency based NCO is, however, limited to multiples of f_hsclk/2N.